﻿<?php
/**
 * @version		$Id: view.html.php 20196 2011-08-06 00:00:00Z jerome $
 * @package		Vsb.Site
 * @subpackage	com_geotrails
 * @copyright	Copyright (C) 2011 Verbier Technologies Sàrl, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later
 */

// No direct access to this file
defined('_JEXEC') or die('Restricted access');
 
jimport('joomla.application.component.view');
 
/**
 * HTML View class for the GeoTrails Component
 *
 * @package		Vsb.Site
 * @subpackage	com_geotrails
 * @since 1.7
 *
 */
 
class GeoTrailsViewFiche extends JView {
	
	function display($tpl = null) {

		$application =& JFactory::getApplication();
		
		// Récupère les paramètres de l'application
		$params = $application->getParams();		

		// Récupère les fiches depuis le modèle
		$model       = JModel::getInstance( 'Geotrails', 'GeotrailsModel' );
		$this->fiche = $model->getTrails($params);
		
		// Aucune randonnée trouvée
		if (!strlen($this->fiche) || !count($this->fiche)) {
			JFactory::getApplication()->enqueueMessage( JText::_('COM_GEOTRAILS_VIEW_ERROR_1') );
			return false;
		}

		// Génère le breadcrumb
		$pathway =& $application->getPathway();
		$pathway->addItem($this->fiche->name, '');
		
		// Récupère toutes les images configurées
		$this->images = $this->fiche->xpath('/trail/media/pictures/file');

		// Récupère tous les points d'intérêts
		$this->pois = $this->fiche->xpath('/trail/pois/poi');
		
		// Génère le répertoire des KML
		$trail_id = JRequest::getInt('id');
		
		// Récupère l'ID de la fiche par le paramètre
		if (!$trail_id) {
			$trail_id = $params->get('trail_id');

			// Aucun ID de fiche dans les paramètres !
			if (!$trail_id) {
				JFactory::getApplication()->enqueueMessage( JText::_('COM_GEOTRAILS_VIEW_ERROR_1') );
				return false;
			}
		}
		
		// Récupère le code/tag langue
		$lang        =& JFactory::getLanguage();
		$lang_folder = $lang->getTag();
		
		// Génère le chemin des fichers kml en cache
		$kml_file = JURI::Root().$params->get('xml_folder').'/com_geotrails/'.$lang->getTag().'/kml_' . $trail_id . '.kml';
		$this->assignRef('kml_file', $kml_file);

		// Génère le chemin des fichers profils images en cache
		$profil_file = JURI::Root().$params->get('xml_folder').'/com_geotrails/'.$lang->getTag().'/profil_' . $trail_id . '.png';
		$this->assignRef('profil_file', $profil_file);

		// Récupère l'URL des images de la fiche
		if (strlen($this->fiche->media->pictures->file)) {
			$image_path = $params->get('api_url_image') . $this->fiche->media->pictures->file;
		} else {
			$image_path = JURI::root().'components/com_geotrails/assets/images/no_image_fiche.png';
		}

		$this->assignRef('map',                $params->get('map'));
		$this->assignRef('image_path',         $image_path);
		$this->assignRef('api_url_fb',         $params->get('api_url_fb'));
		$this->assignRef('api_url_3d',         $params->get('api_url_3d'));
		$this->assignRef('api_url_pdf',        $params->get('api_url_pdf'));
		$this->assignRef('api_url_gpx',        $params->get('api_url_gpx'));
		$this->assignRef('api_url_kmz',        $params->get('api_url_kmz'));
		$this->assignRef('api_url_image',      $params->get('api_url_image'));
		$this->assignRef('api_url_image_pois', $params->get('api_url_image_pois'));
		
		// Display the view
		parent::display($tpl);
	}
}